$(function () {


    $('body').on('click', '.search-form3', function () { // 搜索
        listClassesTask(1);
    }).on('click', '#publishBatch', function () { // 批量发布
        var ids = getChecked();
        if (ids == '') {
            icModale(0, '请选择要发布的作业');
            return;
        }
        icModale(2, '确认批量发布选中的作业？', '', function () {
            updateStatus(ids, 1);
        });
    }).on('click', '#frozenBatch', function () { // 批量禁用
        var ids = getChecked();
        if (ids == '') {
            icModale(0, '请选择要禁用的试卷');
            return;
        }
        icModale(2, '确认批量禁用选中的作业', '', function () {
            updateStatus(ids, 2);
        });
    }).on('click', '.unlock-alt', function () { // 单个禁用
        var ids = $(this).parents('div').data('id');
        icModale(2, '确认禁用该的作业', '', function () {
            updateStatus(ids, 2);
        });
    }).on('click', '.history', function () { // 单个恢复
        var ids = $(this).parents('div').data('id');
        icModale(2, '确认恢复该的作业', '', function () {
            updateStatus(ids, 1);
        });
    }).on('click', '.arrow-up', function () {
        var ids = $(this).parents('tr').data('id');
        icModale(2, '确认发布该的作业，发布后作业题型列表不可修改！！！', '', function () {
            updateStatus(ids, 1);
        });
    }).on('click', '.unlock-alt', function () {
        var ids = $(this).parents('tr').data('id');
        icModale(2, '确认禁用该的作业', '', function () {
            updateStatus(ids, 2);
        });
    }).on('click', '.history', function () {
        var ids = $(this).parents('tr').data('id');
        icModale(2, '确认恢复该的作业', '', function () {
            updateStatus(ids, 1);
        });
    }).on('click', '.trash', function () {
        var ids = $(this).parents('tr').data('id');
        icModale(2, '确认删除该的作业', '', function () {
            updateStatus(ids, 3);
        });
    }).on('click', '.classesTask,.refreshClassesTask', function () {
        listClassesTask(1);
    }).on('click', '.fa-bar-chart', function () {
        var taskId = $(this).parent("a").data("id");
        var index = parent.layer.open({
            type: 2,
            area: ['1420px', '680px'],
            content: baseloaction + '/admin/classes/task/classesTaskInfoListPage?taskId=' + taskId,
            shadeClose: true,
            shade: false,
            maxmin: true, //开启最大化最小化按钮
            title: '<strong>作业详情</strong>'
        });
    });

    /**
     * 获得选中的试卷
     * @returns {string}
     */
    function getChecked() {
        var checked = $('input[name=id]:checked');
        var ids = '';
        if (checked.length > 0) {
            ids = checked.map(function () {
                return this.value;
            }).get().join(',');
        }
        return ids;
    }


    /**
     * 更新作业状态
     * @param ids
     * @param status 1.发布 2.禁用 3.删除
     */
    function updateStatus(ids, status) {
        $.ajax({
            url: baseloaction + '/admin/examination/paper/updateExamPaperStatus',
            data: {
                'ids': ids,
                'status': status
            },
            dataType: 'json',
            type: 'post',
            success: function (response) {
                if (response.success) {
                    if (status != 3) {
                        icModale(0, response.message);
                    }
                    var array = (ids + "").split(",");
                    array.forEach(function (value) {
                        updatePage(value, status);
                    });
                } else {
                    icModale(0, response.message);
                }
            },
            error: function () {
                icModale(0, '系统繁忙，请稍候再试');
            }
        });
    }

    /**
     * 更新页面
     * @param id 作业id
     * @param status 1.默认 2.发布 3.禁用 4.删除
     */
    function updatePage(id, status) {
        var tr = $('tr[data-id=' + id + ']');
        switch (status) {
            case 1:
                tr.find('i.fa-arrow-up, i.fa-history').attr('class', 'fa fa-unlock-alt').parent('a').attr('data-original-title', '禁用');
                tr.find('i.fa-trash').parent('a').hide();
                tr.find('i.fa-edit, i.fa-check').parent('a').show();
                tr.find('td[data-status]').html('<span class="label label-info">已发布</span>');
                break;
            case 2:
                if (tr.find('i.fa-unlock-alt').length > 0) {
                    tr.find('i.fa-unlock-alt').attr('class', 'fa fa-history').parent('a').attr('data-original-title', '恢复');
                    tr.find('i.fa-edit, i.fa-check').parent('a').hide();
                    tr.find('td[data-status]').html('<span class="label label-danger">已禁用</span>');
                }
                break;
            case 3:
                if (tr.find('i.fa-trash').length > 0) {
                    tr.remove();
                }
                break;
        }
    }

});

function getClassesId() {
    return $('#classesId').val();
}

/**
 * 加载班级作业数据
 * @param pageNo
 */
function listClassesTask(pageNo) {
    var params = $('.search-form3').serializeJSON();
    params.classIds = ',' + getClassesId() + ',';
    params = JSON.stringify(params);
    var obj = {
        url: baseloaction + '/admin/classes/task/ajaxClassesTaskListPage',//请求URL
        contextId: 'oc-task-content',//响应内容页面设置内容ID
        params: params,//请求参数
        pageNo: pageNo,//页码
        pageCall: listClassesTask, //分页回调加载数据(点击上下页时调用,该方法也在加载页面完成时调用)
        selectAllId: 'all-select',        //全选框ID
        callback: function () {
            $('#count3').html(total);
        }
    };
    ajaxGetListData(obj);
}